package com.xinchili.autoddl.autoClass.properties;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.List;

//等级：
//等级1: 扫描所有路径下的entity或者domain包下的所有实体类
//等级2: 根据 tablePackage 指定的包路径下的实体类
//等级3: 在等级2的基础上增加更严格的过滤条件指定注解
//条件装配
//@ConditionalOnProperty(name = "autoddl.scanLevel")
//这个注解用于将配置文件中以 autoddl 为前缀的属性自动绑定到该类的字段上
@ConfigurationProperties(prefix = "autoddl")

public class EntityScanProperties {

    // 当scanLevel为2或3时需要配置
    private List<String> tablePackage;

    // 扫描等级：1-宽松，2-指定包，3-严格指定包
    private Integer scanLevel;

    //-------------------------------getter setter---------------------------------

    public Integer getScanLevel() {
        return scanLevel;
    }

    public void setScanLevel(Integer scanLevel) {
        this.scanLevel = scanLevel;
    }

    public List<String> getTablePackage() {
        return tablePackage;
    }

    public void setTablePackage(List<String> tablePackage) {
        this.tablePackage = tablePackage;
    }
}